package com.zyht.common;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Value;

import com.wx.entity.SysWxuser;
import com.zyht.website.entity.SysUser;

/**
 * <b>描述：</b>	后台管理系统基类<br/>
 * <b>作者：</b>Bob <br/>
 * <b>修改日期：</b>2016年5月19日 - 上午10:19:20<br/>
 */
public abstract class AbsManageBaseController extends AbsPrintBaseController{

	@Value("#{propertiesReader[session_user_key]}")
	protected String sessionUserKey;
	
	@Value("#{propertiesReader[session_wx_key]}")
	protected String sessionWxUserKey;
	
	/**
	 * <b>作者:</b> Bob<br/>
	 * <b>修改时间：</b>2016年10月20日 - 上午11:18:37<br/>
	 * <b>功能说明：</b>获取session中user	<br/>
	 * @param request
	 * @return
	 */
	protected final SysUser getSessionUser(HttpServletRequest request){
		SysUser user = (SysUser) getSessionValue(request.getSession(), sessionUserKey);
		return user;
	}
	
	/**
	 * <b>作者:</b> Bob<br/>
	 * <b>修改时间：</b>2016年10月20日 - 上午11:18:37<br/>
	 * <b>功能说明：</b>获取session中wx<br/>
	 * @param request
	 * @return
	 */
	protected final SysWxuser getSessionWxUser(HttpServletRequest request){
		SysWxuser wxuser = (SysWxuser) getSessionValue(request.getSession(), sessionWxUserKey);
		return wxuser;
	}
	
	/**
	 * <b>作者:</b> Bob<br/>
	 * <b>修改时间：</b>2016年5月19日 - 上午10:27:06<br/>
	 * <b>功能说明：</b>	获取wxid<br/>
	 * @param request
	 * @return
	 */
	protected final String getWxId(HttpServletRequest request){
		SysWxuser wxuser = getSessionWxUser(request);
		return null!=wxuser?wxuser.getWxid():null;
	}
	
	protected final Object getSessionValue(HttpServletRequest request, String key){
		return request.getSession().getAttribute(key);
	}
	
	/**
	 * <b>作者:</b> Bob<br/>
	 * <b>修改时间：</b>2016年5月19日 - 上午10:27:43<br/>
	 * <b>功能说明：</b>	获取指定的session对象<br/>
	 * @param session
	 * @param key
	 * @return
	 */
	protected final Object getSessionValue(HttpSession session, String key){
		return session.getAttribute(key);
	}
}
